RAID (redundant array of independent disks) is a data virtualization storage technology that facilitates error handling and data recovery in storage systems. In a process called RAID rebuild, when there is a device failure, RAID regenerates data contents on the failed device from the surviving devices, and then restores the data onto a spare device. However, during RAID rebuild, system performance suffers because user I/O response time increases due to, possibly among other factors, interferences from internal rebuild I/Os. The duration and extent of the performance degradation depends on various factors such as the length of rebuild time and I/O traffic associated with the rebuild. Moreover, as underlying storage systems become denser and incorporate new devices such as SSDs, users experience increased performance degradation because RAID rebuild takes longer and the risk of additional drive failures occurring during the rebuild and associated unrecoverable data loss increases.